/*
 * @Author: yuelei 
 * @Date: 2018-03-27 14:02:07 
 * @Last Modified by: Yuelei
 * @Last Modified time: 2018-04-08 14:49:46
 */

//  通用请求工具

class MUtil {
    // 数据请求
    request(param) {
        return new Promise((resolve, reject) => {
            $.ajax({
                contentType : param.contentType || 'application/x-www-form-urlencoded',
                type      : param.type || 'get',
                url       : param.url || '',
                dataType  : param.dataType || 'json',
                data      : param.data || null,
                success   : res => {
                    resolve(res)
                },
                error     : err => {
                    typeof reject ==='function' && reject(err.statusText);
                }
            });
        })
    }
   
       // 错误提示
       errorTips(errMsg){
        alert(errMsg||'有问题啦~')

    }
    successTips(successMsg){
        alert(successMsg||'成功啦')

    }

       // 获取url参数
       getUrlParam(name){
      
        let queryString = window.location.search.substr(1),
            reg         = new RegExp("(^|&)"+name+"=([^&]*)(&|$)","i"),
          
            result      = queryString.match(reg);
           
         return result? result[2]:null;
        }
        // 本地存储
        setStorage(name,data){
            //判断数据类型
            let dataType = typeof data;
            //  对象   ：传入数据若是对象则进行json格式化然后存储
            if(dataType==='object'){
                window.localStorage.setItem(name,JSON.stringify(data));
            }
             // 基础类型：传入数据若是基础类型(可以在下面数组里面找到)
            else if(['number','string','boolean'].indexOf(dataType)>=0){
                window.localStorage.setItem(name,data);
            }
            else {
                alert('该类型不能用于本地存储')
            }
        }
        // 读取存储
        getStorage(name){
            let data = window.localStorage.getItem(name);
            if (data){
                return JSON.parse(data);
            }
            else{
                return ''
            }
         }
}

export default MUtil